package hyy_2022;

import commons.ListNode;

/**
 * 删除排序链表中的重复元素
 * 前提: 已排序的链表
 */
public class _0801_83_DeleteDuplicates {

    /**
     * 胡瑶瑶解题思路走一波:
     * 1、head为null,返回null
     * 2、判断链表节点与下一个节点重复,则将当前节点.next = 当前节点.next.next,则跳过相同节点,当前节点不变,然后重复比较操作
     * 3、如果链表节点与下一个节点不重复,则将当前节点指向下一个节点,然后重复步骤2比较操作
     * @param head
     * @return
     */
    public ListNode deleteDuplicates(ListNode head) {
        if(head == null) {
            return null;
        }

        ListNode temp = head;
        while(temp.next != null) {
            int tempValue = temp.val;
            int nexValue = temp.next.val;
            if(tempValue == nexValue) {
                temp.next = temp.next.next;
            } else {
                temp = temp.next;
            }
        }
        return head;

    }
}
